count=2
,代表我們從observable
中僅需要2筆資料,取得2筆之後,就不再接收任何資料了。import { from, take, fromEvent, map } from 'rxjs';
// 建立觀察者
const observer = {
next: console.log,
complete: () => console.log('completed!'),
};
// case1: take(2)
console.log('=== case1: take(2) ===)');
from([1, 2, 3, 4, 5]).pipe(take(2)).subscribe(observer);
// 輸出
// 1
// 2
// completed!
click event
,然後限定只能點擊3次,並輸出clientX/Y
...
// case2: fromEvent
console.log('=== case2: fromEvent + take(3) ===)');
fromEvent(document, 'click')
.pipe(
take(3),
map((event: MouseEvent) => { // retrieve clientX/Y
return { x: event.clientX, y: event.clientY };
})
)
.subscribe(observer);
take(N)
: 設置count = N
,就會依序從資料流中取得N筆資料
後,結束。take
與fromEvent
搭配,可以設計出不同的使用者操作形式。第17天完工,今天的課程很簡單,讓大家稍微放鬆一下(我也可以偷懶一下),明天我們繼續囉!see ya~